{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2 Physical GPUs, 2 Logical GPUs\n"
     ]
    }
   ],
   "source": [
    "import tensorflow as tf\n",
    "import graphgallery \n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
    "# Set if memory growth should be enabled for ALL `PhysicalDevice`.\n",
    "graphgallery.set_memory_growth()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'2.1.2'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tf.__version__"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'0.4.0'"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "graphgallery.__version__"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Load the Datasets\n",
    "+ cora\n",
    "+ citeseer\n",
    "+ pubmed"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "from graphgallery.data import Planetoid\n",
    "\n",
    "# set `verbose=False` to avoid these printed tables\n",
    "data = Planetoid('cora', root=\"~/GraphData/datasets\", verbose=False)\n",
    "graph = data.graph\n",
    "idx_train, idx_val, idx_test = data.split()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'citeseer', 'cora', 'pubmed'}"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.supported_datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training...\n",
      "100/100 [==============================] - 2s 21ms/step - loss: 0.3585 - acc: 0.9857 - val_loss: 0.9958 - val_acc: 0.7840 - time: 2.1118\n",
      "Testing...\n",
      "1/1 [==============================] - 0s 89ms/step - test_loss: 1.1056 - test_acc: 0.8300 - time: 0.0894\n",
      "Test loss 1.1056, Test accuracy 83.00%\n"
     ]
    }
   ],
   "source": [
    "from graphgallery.nn.models import GWNN\n",
    "model = GWNN(graph, attr_transform=\"normalize_attr\", device='GPU', seed=123)\n",
    "model.build()\n",
    "# train with validation\n",
    "his = model.train(idx_train, idx_val, verbose=1, epochs=100)\n",
    "# train without validation\n",
    "# his = model.train(idx_train, verbose=1, epochs=100)\n",
    "loss, accuracy = model.test(idx_test)\n",
    "print(f'Test loss {loss:.5}, Test accuracy {accuracy:.2%}')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Show model summary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"gwnn\"\n",
      "__________________________________________________________________________________________________\n",
      "Layer (type)                    Output Shape         Param #     Connected to                     \n",
      "==================================================================================================\n",
      "attr_matrix (InputLayer)        [(None, 1433)]       0                                            \n",
      "__________________________________________________________________________________________________\n",
      "wavelet_matrix (InputLayer)     [(2708, 2708)]       0                                            \n",
      "__________________________________________________________________________________________________\n",
      "inverse_wavelet_matrix (InputLa [(2708, 2708)]       0                                            \n",
      "__________________________________________________________________________________________________\n",
      "wavelet_convolution (WaveletCon (2708, 16)           25636       attr_matrix[0][0]                \n",
      "                                                                 wavelet_matrix[0][0]             \n",
      "                                                                 inverse_wavelet_matrix[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "dropout (Dropout)               (2708, 16)           0           wavelet_convolution[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "wavelet_convolution_1 (WaveletC (2708, 7)            2820        dropout[0][0]                    \n",
      "                                                                 wavelet_matrix[0][0]             \n",
      "                                                                 inverse_wavelet_matrix[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "node_index (InputLayer)         [(None,)]            0                                            \n",
      "__________________________________________________________________________________________________\n",
      "gather (Gather)                 (None, 7)            0           wavelet_convolution_1[0][0]      \n",
      "                                                                 node_index[0][0]                 \n",
      "==================================================================================================\n",
      "Total params: 28,456\n",
      "Trainable params: 28,456\n",
      "Non-trainable params: 0\n",
      "__________________________________________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "model.summary()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Visualization Training "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "with plt.style.context(['science', 'no-latex']):\n",
    "    fig, axes = plt.subplots(1, 2, figsize=(15, 5))\n",
    "    axes[0].plot(his.history['acc'], label='Train accuracy')\n",
    "    axes[0].plot(his.history['val_acc'], label='Val accuracy')\n",
    "    axes[0].legend()\n",
    "    axes[0].set_title('Accuracy')\n",
    "    axes[0].set_xlabel('Epochs')\n",
    "    axes[0].set_ylabel('Accuracy')\n",
    "\n",
    "\n",
    "    axes[1].plot(his.history['loss'], label='Training loss')\n",
    "    axes[1].plot(his.history['val_loss'], label='Validation loss')\n",
    "    axes[1].legend()\n",
    "    axes[1].set_title('Loss')\n",
    "    axes[1].set_xlabel('Epochs')\n",
    "    axes[1].set_ylabel('Loss')\n",
    "    \n",
    "    plt.autoscale(tight=True)\n",
    "    plt.show()    "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
